// server/index.js
const express = require('express')
const next = require('next')

// 获取当前环境
const dev = process.env.NODE_ENV !== 'production'

// 创建 next 应用
const app = next({dev})

// 调用 getRequestHandler 方法能获取 next 应用提供的路由系统
const handler = app.getRequestHandler()

// 准备 next 应用  当 next 应用准备好后执行  返回值是 promise
app.prepare().then(() => {
    const server = express()
    // 自定义路由系统
    server.get('/hello', (req, res) => {
        res.send('Hello Next.js')
    })
    // 没有匹配到自定义系统的路径使用 next 应用提供的路由系统
    server.get('*', (req, res) => {
        handler(req, res)
    })

    server.listen(3000, () => console.log('服务器启动成功 3000'))
})